const redis = require("./redisMgr");

class Student  {
    constructor(_id,_name,_age,_sex=1){
        this.id = _id;
        this.name = _name;
        this.age = _age;
        this.sex = _sex;
    }
   
}

redis.setValue('student', new Student(1001,"xiaoming",30,1));

redis.setValue('book', 'yuwen');

// redis.getValue('book').then((res) => {
//     console.log(res)
// }).catch((err) => {
//     throw new Error(err);
// });
   
// redis.getHValue('student').then((res) => {
//         console.log(res);
//     }).catch((err) => {
//         throw new Error(err);
// });

// redis.getHValue("student","name").then((res)=>{
//     console.log(res);
// }).catch((err) => {
//     throw new Error(err);
// });

function setValues(key,arrStr){
    for(let i = 0; i < arrStr.length; i++){
        redis.pushValue(key,arrStr[i]).then((res)=>{
            // console.log(res);
        }).catch((err) => {
            throw new Error(err);
        });
    }
}

function getValues(key,start,end){
    redis.lrangeValue(key,start,end).then((res)=>{
        console.log(res);
    }).catch((err)=>{
        throw new Error(err);
    });
}

let arrObj1 = {
    key:"studentNames",
    data:["xioaming1","xiaoming2","xiaoming3"]
}

console.log("=====移除前=====");
getValues(arrObj1.key,0,arrObj1.data.length);

redis.removeAll(arrObj1.key).then((res)=>{
    // console.log(res);
}).catch((err) => {
    throw new Error(err);
});

console.log("=====移除后=====");
// setValues(arrObj1.key,arrObj1.data);
getValues(arrObj1.key,0,arrObj1.data.length);

// redis.lpopValue(arrObj1.key).then((res)=>{
//     console.log(res);
// }).catch((err)=>{
//     throw new Error(err);
// });
// getValues(arrObj1.key,0,2);

// let arrObj2 = {
//     key:"studentNames",
//     data:[
//         new Student(1001,"xioaming1",30,1),
//         new Student(1002,"xiaoming2",31,0),
//         new Student(1003,"xiaoming2",32,0)
//     ]
// }
// setValues(arrObj2.key,arrObj2.data);
// getValues(arrObj2.key,0,arrObj2.data.length);


